package com.google.denta.entity;

import java.util.List;
import java.util.Set;

/**
 * The class User.
 * @author Ihar_Padaliakin
 */
public class User extends Entity {

    /**
     * serialVersionUID.
     */
    private static final long serialVersionUID = 1L;

    /** User password. */
    private String password;

    /** User roles. */
    private List<Role> roles;

    /** User groups. */
    private List<Group> groups;

    /** Persone. */
    private Long personeId;

    /** User email. */
    private String email;

    /** User email. */
    private Boolean deleted = Boolean.FALSE;

    /**
     * Constructor.
     */
    public User() {
    }

    /**
     * Constructor.
     * @param name
     *            - login of user
     */
    public User(final String name) {
        setName(name);
    }

    /**
     * @return the password
     */
    public String getPassword() {
        return password;
    }

    /**
     * Setter for user password.
     * @param password
     *            - set password
     */
    public void setPassword(final String password) {
        this.password = password;
    }

    /**
     * @return the roles
     */
    public List<Role> getRoles() {
        return roles;
    }

    /**
     * @param roles
     *            the roles to set
     */
    public void setRoles(final List<Role> roles) {
        this.roles = roles;
    }

    /**
     * @param personeId
     *            id of persone to set
     */
    public void setPersoneId(final Long personeId) {
        this.personeId = personeId;
    }

    /**
     * @return the persone
     */
    public Long getPersoneId() {
        return personeId;
    }

    /**
     * @return the groups
     */
    public List<Group> getGroups() {
        return groups;
    }

    /**
     * @param groups
     *            the groups to set
     */
    public void setGroups(final List<Group> groups) {
        this.groups = groups;
    }

    /**
     * @return the email
     */
    public String getEmail() {
        return email;
    }

    /**
     * @param email
     *            the email to set
     */
    public void setEmail(String email) {
        this.email = email;
    }

    /**
     * @return the deleted
     */
    public Boolean getDeleted() {
        return deleted;
    }

    /**
     * @param deleted
     *            the deleted to set
     */
    public void setDeleted(Boolean deleted) {
        this.deleted = deleted;
    }
}
